package com.wiscamp.ninechapters.panels.domain.repositories;

import com.wiscamp.ninechapters.panels.domain.entities.Dictionary;
import cube.ddd.common.query.PagedObjects;
import cube.ddd.common.query.PagedQuery;

import java.util.Collection;

public interface DictionaryRepository {

    Dictionary getDictionary(long dictionaryId);

    Dictionary getDictionaryByCode(long appId, String dictionaryCode);



    Collection<Dictionary> getDictionariesByGroup(long appId, String dictionaryGroup);

    Collection<Dictionary> getDictionariesByName(long appId, String dictionaryName);

    PagedObjects<Dictionary> getDictionariesByQuery(PagedQuery query);

    Collection<Dictionary> getDictionariesByIds(Collection<Long> dictionaryIds);
    
    Dictionary saveDictionary(Dictionary dictionary);

}
